package com.isdepci.project.carbon.mapper;

import com.isdepci.project.carbon.domain.BHeatEmissionParameter;
import org.apache.ibatis.annotations.Param;

import java.math.BigDecimal;
import java.util.List;

/**
 * 热力排放参数Mapper接口
 *
 * @author isdepci
 * @date 2025-05-19
 */
public interface BHeatEmissionParameterMapper
{



    BHeatEmissionParameter getHeatValue(BHeatEmissionParameter parameter);

    BHeatEmissionParameter findPrevTemperature(@Param("steamType") Integer steamType, @Param("steamTemperature") BigDecimal steamTemperature);
    BHeatEmissionParameter findNextTemperature(@Param("steamType") Integer steamType, @Param("steamTemperature") BigDecimal steamTemperature);
    BHeatEmissionParameter findClosestPressureForTemperature(@Param("steamType") Integer steamType, @Param("steamTemperature") BigDecimal steamTemperature, @Param("steamPressure") BigDecimal steamPressure);

    BHeatEmissionParameter findPrevPressure(@Param("steamType") Integer steamType, @Param("steamTemperature") BigDecimal steamTemperature, @Param("steamPressure") BigDecimal steamPressure);
    BHeatEmissionParameter findNextPressure(@Param("steamType") Integer steamType, @Param("steamTemperature") BigDecimal steamTemperature, @Param("steamPressure") BigDecimal steamPressure);

    /**
     * 查询热力排放参数
     */
     BHeatEmissionParameter selectBHeatEmissionParameterById(Long id);

    /**
     * 查询热力排放参数列表
     */
     List<BHeatEmissionParameter> selectBHeatEmissionParameterList(BHeatEmissionParameter bHeatEmissionParameter);

    /**
     * 新增热力排放参数
     */
     int insertBHeatEmissionParameter(BHeatEmissionParameter bHeatEmissionParameter);

    /**
     * 修改热力排放参数
     */
     int updateBHeatEmissionParameter(BHeatEmissionParameter bHeatEmissionParameter);

    /**
     * 删除热力排放参数
     */
     int deleteBHeatEmissionParameterById(Long id);

    /**
     * 批量删除热力排放参数
     */
     int deleteBHeatEmissionParameterByIds(Long[] ids);


    void insertList(@Param("list") List<BHeatEmissionParameter> list,@Param("pId")Long pId);



    List<BHeatEmissionParameter> getAllHeatValues();

    List<BHeatEmissionParameter> getHeatValuesByType(Integer steamType);


}
